import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { fileURLToPath, URL } from 'node:url';

// 引入自动引入插件
import AutoImport from 'unplugin-auto-import/vite';

// 引入自动生成路由
import Pages from 'vite-plugin-pages';

// 引入scope-css插件
import { reactScopedCssPlugin } from 'rollup-plugin-react-scoped-css'

// https://vite.dev/config/
export default defineConfig({
    plugins: [
        react(),
        AutoImport({
            imports: [
                'react',
                'react-router-dom'
            ],
            dts: './src/auto-imports.d.ts',
        }),
        Pages({
            dirs: 'src/views', // 需要生成路由的组件目录
            exclude: ['**/components/*.tsx'], // 排除在外的目录，即所有 components 目录下的 .tsx 文件都不会生成路由
        }),
        reactScopedCssPlugin()
    ],
    resolve: {
        alias: {
            //设置@符号 别名路径变量
            '@': fileURLToPath(new URL('./src', import.meta.url))
        }
    },
    server: {
        //开发服务器的配置
        //反向代理
        proxy: {
            '/hotel': {
                // target: 'http://www.fastpro1.com/hotel', //反向代理的目标地址
                target: 'https://www.mad.fastpro.thecuriouscat.site/hotel', //反向代理的目标地址
                changeOrigin: true, // 允许跨域
                secure: false, // 如果是https接口，需要配置这个参数
                //替换掉hotel前缀 防止多个hotel地址
                rewrite: (path) => path.replace(/^\/hotel/, ''),
            }
        },
    },
});
